/*
 * @Author: your name
 * @Date: 2021-09-03 14:08:13
 * @LastEditTime: 2021-09-08 09:03:28
 * @LastEditors: your name
 * @Description: In User Settings Edit
 * @FilePath: \bbs-pc\vue.config.js
 */
const path = require('path');

function resolve(dir) {
    return path.join(__dirname, dir);
}
module.exports = {
    // 默认'/'，部署应用包时的基本 URL
    'publicPath': './',
    // 'dist', 生产环境构建文件的目录
    'outputDir': process.env.outputDir || 'dist',
    // 相对于outputDir的静态资源(js、css、img、fonts)目录
    'assetsDir': '',
    'lintOnSave': false,
    // 是否使用包含运行时编译器的 Vue 构建版本
    'runtimeCompiler': true,
    // 生产环境的 source map
    'productionSourceMap': false,
    'parallel': require('os').cpus().length > 1,
    'pwa': {},
    'chainWebpack': config => {
        // 配置别名
        config.resolve.alias
            .set('src', resolve('src'));
    },
    // 确保静态资源
    'configureWebpack': config => {
        config.resolve.extensions = ['.ts', '.tsx', '.js', '.jsx', '.vue', '.less', '.json', '.css'];
    },
    'devServer': {
        'open': process.platform === 'darwin',
        'host': 'localhost',
        'port': 8009,
        'proxy': {
            '/remote': {
                'target': 'http://192.168.1.74:8848',
                'ws': true,
                'changOrigin': true,
                'pathRewrite': {
                    '^/remote': ''
                }
            },
            '/api': {
                'target': 'http://192.168.9.2:3001',
                'ws': true,
                'changOrigin': true,
                'pathRewrite': {
                    '^/api': ''
                }
            }
        }
    },
    'pluginOptions': {
        'style-resources-loader': {
            'preProcessor': 'less',
            'patterns': [
                resolve('src/assets/less/global.less')
            ]
        }
    }
};
